library("FRESA.CAD")
library(survival)
library(readxl)
library(igraph)
op <- par(no.readonly = TRUE)
pander::panderOptions('digits', 3)
pander::panderOptions('table.split.table', 400)
pander::panderOptions('keep.trailing.zeros',TRUE)
load("./TADPOLE_BSWIMS_Results.RData")
pander::pander(table(TADPOLE_Conv_TRAIN$status))
| 0 | 1 |
|---|---|
| 261 | 133 |
pander::pander(table(TADPOLE_Conv_TEST$status))
| 0 | 1 |
|---|---|
| 112 | 58 |
par(op)
cvLASSORaw <- randomCV(TADPOLECrossMRI,
Surv(TimeToEvent,status)~.,
fittingFunction= LASSO_1SE,
trainSampleSets= cvBSWiMSRaw$trainSamplesSets,
)
……….10 Tested: 552 Avg. Selected: 8.8 Min Tests: 1 Max Tests: 10 Mean Tests: 5.036232 . MAD: 1.847167 ……….20 Tested: 562 Avg. Selected: 9.05 Min Tests: 1 Max Tests: 17 Mean Tests: 9.893238 . MAD: 2.368578 ……….30 Tested: 564 Avg. Selected: 8.7 Min Tests: 3 Max Tests: 25 Mean Tests: 14.78723 . MAD: 2.34703 ……….40 Tested: 564 Avg. Selected: 8.95 Min Tests: 4 Max Tests: 32 Mean Tests: 19.71631 . MAD: 2.622609 ……….50 Tested: 564 Avg. Selected: 9.16 Min Tests: 6 Max Tests: 39 Mean Tests: 24.64539 . MAD: 2.539005
pander::pander(cbind(cvLASSORaw$featureFrequency[cvLASSORaw$featureFrequency>20]))
| ADAS13 | 50 |
| FAQ | 50 |
| RAVLT_immediate | 49 |
| ABETA | 43 |
| TAU | 28 |
| M_ST32CV | 27 |
| M_ST24CV | 24 |
| M_ST29SV | 23 |
prBin <- predictionStats_binary(cvLASSORaw$survMedianTrain[,c(2,3)],"TRAIN: MCI to AD Conversion")
survmtest <- cvLASSORaw$survMedianTest
survmtest <- survmtest[complete.cases(survmtest),]
prBin <- predictionStats_binary(survmtest[,c(2,3)],"LASSO: MCI to AD Conversion")
pander::pander(prBin$aucs)
| est | lower | upper |
|---|---|---|
| 0.875 | 0.847 | 0.904 |
pander::pander(prBin$CM.analysis$tab)
| Outcome + | Outcome - | Total | |
|---|---|---|---|
| Test + | 158 | 84 | 242 |
| Test - | 33 | 289 | 322 |
| Total | 191 | 373 | 564 |
par(op)
ho <- mean(survmtest$Outcome)
timeInterval <- mean(survmtest[survmtest$Outcome==0,"Times"])
pgzero <- ppoisGzero(survmtest$LinearPredictorsMedian,ho)
rsdata <- cbind(survmtest$Outcome,pgzero,survmtest$Times)
riskAnalysis <- RRPlot(rsdata,riskTimeInterval=timeInterval,title="LASSO")
[1] 0.3386525 [1] 0.3386525 1.0000000
[1]
0.9906981 0.9625794 0.3942505 3.4912148 13.9578736 29.1869870 0.0000000
[8] 1.0000000
pander::pander(riskAnalysis$c.index)
C Index: 0.846
Dxy: 0.693
S.D.: 0.0246
n: 564
missing: 0
uncensored: 191
Relevant Pairs: 142910
Concordant: 120960
Uncertain: 174472
cstatCI:
| mean.C Index | median | lower | upper |
|---|---|---|---|
| 0.846 | 0.846 | 0.82 | 0.869 |
pander::pander(riskAnalysis$ROCAnalysis$aucs)
| est | lower | upper |
|---|---|---|
| 0.875 | 0.847 | 0.904 |
pander::pander(riskAnalysis$cenAUC)
0.897
pander::pander(riskAnalysis$ROCAnalysis$ClassMetrics)
accci:
| 50% | 2.5% | 97.5% |
|---|---|---|
| 0.789 | 0.754 | 0.823 |
senci:
| 50% | 2.5% | 97.5% |
|---|---|---|
| 0.64 | 0.57 | 0.708 |
speci:
| 50% | 2.5% | 97.5% |
|---|---|---|
| 0.866 | 0.83 | 0.9 |
aucci:
| 50% | 2.5% | 97.5% |
|---|---|---|
| 0.753 | 0.714 | 0.791 |
berci:
| 50% | 2.5% | 97.5% |
|---|---|---|
| 0.247 | 0.209 | 0.286 |
preci:
| 50% | 2.5% | 97.5% |
|---|---|---|
| 0.71 | 0.636 | 0.774 |
F1ci:
| 50% | 2.5% | 97.5% |
|---|---|---|
| 0.672 | 0.614 | 0.727 |
pander::pander(riskAnalysis$surdif)
| N | Observed | Expected | (O-E)^2/E | (O-E)^2/V | |
|---|---|---|---|---|---|
| class=0 | 311 | 28 | 127.6 | 77.72 | 242.05 |
| class=1 | 81 | 41 | 26.5 | 7.93 | 9.28 |
| class=2 | 172 | 122 | 36.9 | 196.05 | 252.21 |
cvRIDGERaw <- randomCV(TADPOLECrossMRI,
Surv(TimeToEvent,status)~.,
fittingFunction= GLMNET_RIDGE_1SE,
trainSampleSets= cvBSWiMSRaw$trainSamplesSets,
)
……….10 Tested: 552 Avg. Selected: 275.6 Min Tests: 1 Max Tests: 10 Mean Tests: 5.036232 . MAD: 7.812309 ……….20 Tested: 562 Avg. Selected: 277.8 Min Tests: 1 Max Tests: 17 Mean Tests: 9.893238 . MAD: 8.190561 ……….30 Tested: 564 Avg. Selected: 276.2667 Min Tests: 3 Max Tests: 25 Mean Tests: 14.78723 . MAD: 8.211094 ……….40 Tested: 564 Avg. Selected: 276.1 Min Tests: 4 Max Tests: 32 Mean Tests: 19.71631 . MAD: 8.308367 ……….50 Tested: 564 Avg. Selected: 276.16 Min Tests: 6 Max Tests: 39 Mean Tests: 24.64539 . MAD: 8.364073
prBin <- predictionStats_binary(cvRIDGERaw$survMedianTrain[,c(2,3)],"TRAIN: MCI to AD Conversion")
survmtest <- cvRIDGERaw$survMedianTest
survmtest <- survmtest[complete.cases(survmtest),]
prBin <- predictionStats_binary(survmtest[,c(2,3)],"RIDGE: MCI to AD Conversion")
pander::pander(prBin$aucs)
| est | lower | upper |
|---|---|---|
| 0.591 | 0.537 | 0.645 |
pander::pander(prBin$CM.analysis$tab)
| Outcome + | Outcome - | Total | |
|---|---|---|---|
| Test + | 114 | 189 | 303 |
| Test - | 77 | 184 | 261 |
| Total | 191 | 373 | 564 |
par(op)
ho <- mean(survmtest$Outcome)
timeInterval <- mean(survmtest[survmtest$Outcome==0,"Times"])
pgzero <- ppoisGzero(survmtest$LinearPredictorsMedian,ho)
rsdata <- cbind(survmtest$Outcome,pgzero,survmtest$Times)
riskAnalysis <- RRPlot(rsdata,riskTimeInterval=timeInterval,title="RIDGE")
[1] 0.3386525 [1] 0.3386525 1.0000000
[1]
0.5946290 0.4987360 0.3942505 3.4912148 186.9714797 107.1554930 [7]
0.0000000 0.0000000
pander::pander(riskAnalysis$c.index)
C Index: 0.572
Dxy: 0.144
S.D.: 0.0422
n: 564
missing: 0
uncensored: 191
Relevant Pairs: 142910
Concordant: 81723
Uncertain: 174472
cstatCI:
| mean.C Index | median | lower | upper |
|---|---|---|---|
| 0.572 | 0.571 | 0.531 | 0.614 |
pander::pander(riskAnalysis$ROCAnalysis$aucs)
| est | lower | upper |
|---|---|---|
| 0.535 | 0.485 | 0.584 |
pander::pander(riskAnalysis$cenAUC)
0.54
pander::pander(riskAnalysis$ROCAnalysis$ClassMetrics)
accci:
| 50% | 2.5% | 97.5% |
|---|---|---|
| 0.564 | 0.523 | 0.603 |
senci:
| 50% | 2.5% | 97.5% |
|---|---|---|
| 0.479 | 0.411 | 0.552 |
speci:
| 50% | 2.5% | 97.5% |
|---|---|---|
| 0.609 | 0.558 | 0.659 |
aucci:
| 50% | 2.5% | 97.5% |
|---|---|---|
| 0.544 | 0.5 | 0.585 |
berci:
| 50% | 2.5% | 97.5% |
|---|---|---|
| 0.456 | 0.415 | 0.5 |
preci:
| 50% | 2.5% | 97.5% |
|---|---|---|
| 0.386 | 0.324 | 0.446 |
F1ci:
| 50% | 2.5% | 97.5% |
|---|---|---|
| 0.427 | 0.368 | 0.483 |
pander::pander(riskAnalysis$surdif)
| N | Observed | Expected | (O-E)^2/E | (O-E)^2/V | |
|---|---|---|---|---|---|
| class=0 | 327 | 100 | 119.7 | 3.25 | 8.8 |
| class=1 | 237 | 91 | 71.3 | 5.46 | 8.8 |
bConvmlLZO <- LASSO_1SE(Surv(TimeToEvent,status)~.,TADPOLE_Conv_TRAIN)
pander::pander(bConvmlLZO$selectedfeatures)
ADAS13, MMSE, RAVLT_immediate, RAVLT_perc_forgetting, FAQ, APOE4, ABETA, PTAU, M_ST13TA, M_ST56SA, M_ST24CV, M_ST32CV, M_ST40CV, M_ST29SV and RD_ST31TA
ptestl <- predict(bConvmlLZO,TADPOLE_Conv_TEST)
cval <- mean(ptestl)
ptestl <- predict(bConvmlLZO,TADPOLE_Conv_TEST) - cval
boxplot(ptestl~TADPOLE_Conv_TEST$status)
ptestr <- exp(ptestl)
predsurv <- cbind(TADPOLE_Conv_TEST$TimeToEvent,
TADPOLE_Conv_TEST$status,
ptestl,
ptestr)
prSurv <- predictionStats_survival(predsurv,"MCI to AD Conversion")
pander::pander(prSurv$CIRisk)
| median | lower | upper |
|---|---|---|
| 0.889 | 0.852 | 0.92 |
pander::pander(prSurv$CILp)
| median | lower | upper |
|---|---|---|
| 0.896 | 0.845 | 0.939 |
pander::pander(prSurv$spearmanCI)
| 50% | 2.5% | 97.5% |
|---|---|---|
| 0.568 | 0.37 | 0.723 |
prBin <- predictionStats_binary(cbind(TADPOLE_Conv_TEST$status,ptestl),"MCI to AD Conversion")
pander::pander(prBin$aucs)
| est | lower | upper |
|---|---|---|
| 0.896 | 0.85 | 0.943 |
pander::pander(prBin$CM.analysis$tab)
| Outcome + | Outcome - | Total | |
|---|---|---|---|
| Test + | 54 | 26 | 80 |
| Test - | 4 | 86 | 90 |
| Total | 58 | 112 | 170 |
par(op)
bConvmlRIDGE <- GLMNET_RIDGE_1SE(Surv(TimeToEvent,status)~.,TADPOLE_Conv_TRAIN)
ptestl <- predict(bConvmlRIDGE,TADPOLE_Conv_TEST)
cval <- mean(ptestl)
ptestl <- predict(bConvmlRIDGE,TADPOLE_Conv_TEST) - cval
boxplot(ptestl~TADPOLE_Conv_TEST$status)
ptestr <- exp(ptestl)
predsurv <- cbind(TADPOLE_Conv_TEST$TimeToEvent,
TADPOLE_Conv_TEST$status,
ptestl,
ptestr)
prSurv <- predictionStats_survival(predsurv,"MCI to AD Conversion")
pander::pander(prSurv$CIRisk)
| median | lower | upper |
|---|---|---|
| 0.84 | 0.795 | 0.882 |
pander::pander(prSurv$CILp)
| median | lower | upper |
|---|---|---|
| 0.86 | 0.806 | 0.91 |
pander::pander(prSurv$spearmanCI)
| 50% | 2.5% | 97.5% |
|---|---|---|
| 0.355 | 0.0891 | 0.581 |
prBin <- predictionStats_binary(cbind(TADPOLE_Conv_TEST$status,ptestl),"MCI to AD Conversion")
pander::pander(prBin$aucs)
| est | lower | upper |
|---|---|---|
| 0.86 | 0.805 | 0.914 |
pander::pander(prBin$CM.analysis$tab)
| Outcome + | Outcome - | Total | |
|---|---|---|---|
| Test + | 50 | 35 | 85 |
| Test - | 8 | 77 | 85 |
| Total | 58 | 112 | 170 |
par(op)
save.image("./TADPOLE_LASSO_Results.RData")